/*
 * Copyright (c) 2021. Dylan Cai
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

@file:Suppress("unused")

package com.price.common.extend

import java.io.BufferedReader
import java.io.InputStreamReader

fun executeCmd(command: String): String {
  val process = Runtime.getRuntime().exec(command)

  val resultReader = BufferedReader(InputStreamReader(process.inputStream))
  val resultBuilder = StringBuilder()
  var resultLine = resultReader.readLine()
  while (resultLine != null) {
    resultBuilder.append(resultLine)
    resultLine = resultReader.readLine()
  }

  val errorReader = BufferedReader(InputStreamReader(process.errorStream))
  val errorBuilder = StringBuilder()
  var errorLine = errorReader.readLine()
  while (errorLine != null) {
    errorBuilder.append(errorLine)
    errorLine = errorReader.readLine()
  }

  return "$resultBuilder\n$errorBuilder"
}
